package 面向对象编程;

/**
 * Created by   song 醉美柳舞之众星捧月
 * Date & Time  2017/10/9 10:39
 */
public class 代码块 {
    {
        System.out.println("普通代码块1");
    }

    {
        System.out.println("普通代码块2");
    }

    //  上面是两个普通代码块，哪个在上面就先输出哪个；
    代码块() {
        System.out.println("构造器1");
    }

    //  上面是一个构造器
//    普通代码块 和 构造代码块  在前面的就先运行 ;    构造器 是后于普通代码块和构造代码块运行的!
    static {
        System.out.println("静态代码块");
    }
    //  static 是升级到“类”上面,所以执行程序的时候是执行一遍这个“类”而不是执行类中new的对象方法；
    // 所以, static静态代码块只会运行一次(类运行一次) ；不管有多少地方调用这个静态代码块,总体只会运行一次
//  静态代码块 优先于一切顺序;  比普通代码块,构造代码块,构造器 都要优先执行
}
//    静态代码块   》      构造代码块      》   构造器      ;;;;;;;;;;  普通代码块是按常规顺序来着